iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0

前言

這篇文章之前我們介紹的是 Spring Boot + Spring Data 做出來的後端系統,接下來會介紹 Spring Boot + Spring Data 在結合 Spring Security 做到身分驗證的功能,這篇文章會先來介紹預計會用來當作身分驗證的方法 JWT

Spring Security

是一個用來提高後端安全性的工具,尤其是Java後端。他提供了一套全面的安全機制和工具,幫助開發人員保護後端應用程式免受各種安全威脅,確保了資料的機密性、完整性和可用性。

JWT

JWT 全名為 JSON Web Token,是一種基於 JSON 的開放標準(RFC 7519),JWT 會透過 HMAC、RSA、ECDS 等演算法進行加密,而 JWT 是以 Header、Payload、Signature 以Base64 做編碼,並且以 . 來做分開(例如: xxxxxx.yyyyyy.zzzzz )。

這邊附上一張圖來輔助解釋
image

首先看到左側 HTTP Request這裡指的是用戶發送的指令

接著是 JWTAuthFillter,在這裡我們會針對用戶傳送進來的Token 進行幾個階段的審核,從這個 Token 的組成是否符合我們設定的,再來解碼後的金鑰跟我們設定的是否相同等等,這些初步的檢查都沒問題就會再更進階驗證身分

JWTService,在這裡我們會撰寫一些功能,內容主要都是在寫驗證的邏輯,比如「這個用戶的身分跟這個 Token 解析出來的身分是否相同」,如果都沒問題就代表通過認證,就可以接續下面的動作,反之在這裡只要任一個驗證有問題,就是直接返回錯誤

Security,進到這裡就代表這個 Token 是完全合法也符合當前使用者的身分驗證,因此系統就會允許使用者的指令被執行,接著便會回傳正常功能的內容回到前端做顯示

總結

本篇文章大略的介紹了 JWT 的運作方式,下篇文章開始我們會慢慢將整個系統完成,由於撰寫的複雜度變更難,因此會將每篇的步調變慢,盡量解釋清楚每個環節。


上一篇
[DAY 09] 後端結合前端的應用
下一篇
[DAY 11] 後端結合身分驗證系統 (1)
系列文
智慧語義互動平台:基於Spring和Semantic Kernel的Android應用創新20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言